package com.zem.imos.Controller;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zem.imos.Entity.DrugsOrder;
import com.zem.imos.Entity.RespEntity;
import com.zem.imos.Service.DrugsService;
import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;


@RestController
public class DrugsController {

    @Autowired
    DrugsService drugsService;

    /**
     * 药品管理员增减药品库存
     * @author ZSQ
     * @Time 2021/11/27
     * @Description 通过token解析验证父部门为药剂科，输入药品drugsid，输入增减数量num
     * 测试
     * @test ZSQ
     */
    @PostMapping("/adddrugstockbyadmin")
    public RespEntity adddrugstockbyadmin (HttpServletRequest request,int drugsid, int num){
        return drugsService.adddrugstockbyadmin(request,drugsid,num);
    }

    /**
     * 获取用户挂号信息（患者id, 今天之内的）
     * @author ZSQ
     * @Time 2021/11/28
     * @Description 通过token解析验证父部门为药剂科，通过用户id获取24小时内就诊的挂号单 （就诊单）的开药信息和就诊信息
     * 测试
     * @test ZSQ
     */
    @PostMapping("/getregisterbyuserid")
    public RespEntity getregisterbyuserid (HttpServletRequest request, Integer page, Integer limit, String patientId){
        Page respage = new Page(page,limit);
        return drugsService.getregisterbyuserid(request, respage, patientId);
    }

    /**
     * 获取用户挂号信息（挂号id）
     * @author ZSQ
     * @Time 2021/11/29
     * @Description 通过token解析验证父部门为药剂科，通过挂号单id获取药品记录
     * 测试
     * @test ZSQ
     */
    @PostMapping("/getdrugsrecordbyregister")
    public RespEntity getdrugsrecordbyregister(HttpServletRequest request, Integer page, Integer limit, int registerId){
        Page respage = new Page(page,limit);
        return drugsService.getdrugsrecordbyregister(request, respage, registerId);
    }

    /**
     * 获取用户药品记录
     * @author ZSQ
     * @Time 2021/11/29
     * @Description 通过token解析验证父部门为药剂科，通过用户id获取就诊的挂号单 （就诊单）的开药信息和就诊信息
     * 测试
     * @test ZSQ
     */
    @PostMapping("/getalldrugsrecords")
    public RespEntity getalldrugsrecords(HttpServletRequest request, Integer page, Integer limit , String patientId){
        Page respage = new Page(page,limit);
        return drugsService.getalldrugsrecords(request,respage,patientId);
    }

}
